#ifndef _HCC_ERROR_CODE_MID_BPX_ERRNO_H_
#define _HCC_ERROR_CODE_MID_BPX_ERRNO_H_

#include "ofc/ofc_types.h"
#include "hcc/hcc_error_code.h"
#include "hcc/hcc_error_code_mid.h"

#ifdef __cplusplus
extern "C" {
#endif

// 不含行号的错误码生成
#define HCC_MAKE_MID_BPX_ERRNO_ERROR(error_code) (int)HCC_MAKE_MID_WARE_ERROR(kHccMidWareBpx, error_code, HCC_ERROR_LEVEL_ERROR)
// 含行号的错误码生成
#define HCC_MAKE_MID_BPX_ERRNO_ERROR_LINE(error_code) (int)HCC_ERROR(HCC_MAKE_MID_WARE_ERROR(kHccMidWareBpx, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * bpx模块域:
 */
enum Bpx_TErrCodeTag
{
	kBpxErrCode_Success	=	HCC_ERROR_SUCCESS,			///< 成功,没有错误
	kBpxErrCode_Param	=	HCC_MAKE_MID_BPX_ERRNO_ERROR(1),			///<
	kBpxErrCode_PortNotAvailable	=	HCC_MAKE_MID_BPX_ERRNO_ERROR(2),			///<
	kBpxErrCode_ErrorPackBuffer	=	HCC_MAKE_MID_BPX_ERRNO_ERROR(3),			///<
	kBpxErrCode_MethodNotImpl	=	HCC_MAKE_MID_BPX_ERRNO_ERROR(4),			///<
	kBpxErrCode_InvalidRouteNode	=	HCC_MAKE_MID_BPX_ERRNO_ERROR(5),			///<
};
typedef enum Bpx_TErrCodeTag Bpx_TErrCode;


typedef Int32 Bpx_TErrCodeLine;
#define kBpxErrCode_SuccessLine	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kBpxErrCode_ParamLine	HCC_MAKE_MID_BPX_ERRNO_ERROR_LINE(1)	///<
#define kBpxErrCode_PortNotAvailableLine	HCC_MAKE_MID_BPX_ERRNO_ERROR_LINE(2)	///<
#define kBpxErrCode_ErrorPackBufferLine	HCC_MAKE_MID_BPX_ERRNO_ERROR_LINE(3)	///<
#define kBpxErrCode_MethodNotImplLine	HCC_MAKE_MID_BPX_ERRNO_ERROR_LINE(4)	///<
#define kBpxErrCode_InvalidRouteNodeLine	HCC_MAKE_MID_BPX_ERRNO_ERROR_LINE(5)	///<

#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_MID_BPX_ERRNO_H_
/**
 * @
 */
